2.3 API权限
API权限是控制用户能访问哪些服务,调用哪些后端的API接口。作用于后端。
1.实现原理
数据库表写入
新建服务后,默认会自动插入1条本服务的访问权限,但未指定角色。角色分配权限后,会自动新插入1条本服务的访问权限,并同时指定角色。
开发时设置写入的是门户的permission_debug表,运行时设置写入的是permission表。
其中code会描述是访问哪个服务,name为平台自动生成的名称,type为service(指API权限),debug_type为insert,role_id如果未分配给角色则为空。例如:
访问约束
当用户访问服务时,页面会向后端发起服务请求(权限code描述的路径,比如/permissionandrolecase/main/service/weather),请求会根据API权限判断用户是否拥有该权限,如果无权限,则请求返回异常,提示无权限。
2.实现效果
以天气预报服务为例,API权限功能会自动加入该服务权限,如下图所示:
设置权限后的访问效果如下:
- 有访问权限
- 无访问权限